//两数之和：https://leetcode .cn/problems/two-sum/

//建立一个哈希表，因为题目说不能重复出现
//遍历数组，如果target-num不在哈希表中，讲num放入哈希表，如果在，返回答案


#include<iostream>
#include<vector>
#include<unordered_map>

using namespace std;

class Solution {
public:
    vector<int> twoSum(vector<int>& nums, int target) 
    {
        unordered_map<int,int> hash;
        vector<int>answer(2,0);
        for(int i=0;i<nums.size();i++)
        {
            int num=target-nums[i];
            if(hash.find(num)==hash.end())
            {
                hash[nums[i]]=i;
            }
            else
            {
                answer[0]=i;
                answer[1]=hash[num];
                break;
            }
        }
        return answer;
        
    }
};
